﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CANO.Data.DAOs
{
	public class TipoCompromisoDAO
	{
		public int TipoCompromisoID { get; set; }
		public string TipoCompromiso { get; set; }
		public int RolNecesario { get; set; }

		public List<TipoCompromisoDAO> GetAllByRol(int Rol)
		{
			List<TipoCompromisoDAO> listTipoCompromiso = new List<TipoCompromisoDAO>();

			using (CANOPropiedadesDCDataContext context = new CANOPropiedadesDCDataContext())
			{

				var tcColl =
					from tc in context.TipoCompromiso
					where tc.RolNecesario >= Rol
					select tc;

				foreach (var item in tcColl)
				{
					TipoCompromisoDAO tipoCompromiso = new TipoCompromisoDAO();
					tipoCompromiso.TipoCompromisoID = item.TipoCompromisoID;
					tipoCompromiso.TipoCompromiso = item.TipoCompromiso1;
					tipoCompromiso.RolNecesario = item.RolNecesario.Value;
					listTipoCompromiso.Add(tipoCompromiso);
				}
				return listTipoCompromiso;
			}
		}

		public string GetCompromisoDisplayByTipoID(int TipoID)
		{
			using (CANOPropiedadesDCDataContext context = new CANOPropiedadesDCDataContext())
			{

				var tcColl =
					from tc in context.TipoCompromiso
					where tc.TipoCompromisoID == TipoID
					select tc;


				return tcColl.SingleOrDefault().TipoCompromiso1;
			}
		}

		public string GetTipoCompromisoByCompromisoID(int CompromisoID)
		{
			using (CANOPropiedadesDCDataContext context = new CANOPropiedadesDCDataContext())
			{
				
				var tcColl =
					from tc in context.TipoCompromiso
					join c in context.Compromiso on tc.TipoCompromisoID equals c.TipoCompromiso
					where c.CompromisoID == CompromisoID
					select tc;


				return tcColl.SingleOrDefault().TipoCompromiso1;
			}
		}
	}
}
